Performance potentials of compiler-directed data speculation
نویسندگان
چکیده
Compiler-directed data speculation has been implemented on Itanium systems to allow for a compiler 10 move a load across a store even when the two operations are potentially aliased This not only breaks data dependency to reduce critical path length, but also allows a load to be scheduled far apart from its uses to hide cache miss latencies. However, the effectiveness of data speculation is affected by the sophistication of alias analysis technique as well as the aggressiveness af the instruction scheduler. In general, the more sophisticated is the alias analysis technique, the less performance gain i s t o m data speculation, and the more aggressive is the instruction scheduler, the more opportunity is for data speculation. I n this paper we evaluate in various scenarios the performonce potentials of data speculation for SPEC2OOOC benchmarks. For each scenario, we determine the performance contributions of data speculation due to both critical path reduction and cache miss latency reduction. We also show interesting statistics about the effects of scheduling constraints, the percentage of critical dependencies, the impacts of cache miss latencies, and the distances behJeen the load locations before and ajier data speculation.
منابع مشابه
The Superthreaded Processor Architecture
The common single-threaded execution model limits processors to exploiting only the relatively small amount of instruction-level parallelism available in application programs. The superthreaded processor, on the other hand, is a concurrent multithreaded architecture (CMA) that can exploit the multiple granularities of parallelism available in general-purpose application programs. Unlike other C...
متن کاملRegister Communication Strategies for the Multiscalar Architecture
This paper considers the problem of register communication in the Multiscalar architecture, a novel paradigm for exploiting instruction level parallelism. The Multiscalar architecture employs a combination of hardware and software mechanisms to partition a sequential program into tasks, and uses control and data speculation to execute such tasks in parallel. Inter-task register dependencies rep...
متن کاملA Study of the E ects of Compiler-Controlled Speculation on Instruction and Data Caches
Compiler-controlled speculation has been shown to be e ective in increasing instruction level parallelism (ILP) found in non-numeric programs. However, it is not clear the extent to which speculatively scheduled code may a ect the instruction and data caches. In particular, the amount of time spent resolving cache misses may be signi cant enough to prevent the more aggressive speculation models...
متن کاملA THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY SHENGYUE WANG IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Pen-Chung Yew, Adviser
Thread-Level Speculation (TLS) allows potentially dependent threads to execute in parallel, by postponing the detection and verification of inter-thread data dependences until runtime. Although TLS greatly simplifies automatic parallelization, only moderate performance improvements have been achieved for general-purpose applications. Thus adequate compiler techniques must be developed to fully ...
متن کاملA Study of the E ects of Compiler - Controlled Speculation onInstruction and Data
Compiler-controlled speculation has been shown to be eeec-tive in increasing instruction level parallelism (ILP) found in non-numeric programs. However, it is not clear the extent to which speculatively scheduled code may aaect the instruction and data caches. In particular, the amount of time spent resolving cache misses may be signiicant enough to prevent the more aggressive speculation model...
متن کامل